function main(){
	slideFunction();
	suchfeldFokus(); 
	jsonInit();
};


function slideFunction(){
	// Menü slide
    $(".nav li:has(ul)").hover(function(){
        $(this).find("ul").slideDown(200);
    }, function(){
        $(this).find("ul").slideUp(200);
    });
}

function suchfeldFokus(){
	// Fokus -> Standard-Text löschen & Textfarbe ändern
    $("#suchtext").focus(function(){
    	if($(this).val() == 'Suchebegriffe mit Komma trennen'){
    		$(this).val('');
    		$(this).css("color", "black");
    	}
    	$("#vorschlagsliste").show();
    });
    
    // Kein Fokus und kein Text -> Standard-Text einfügen & Textfarbe ändern
    // Ebenso muss die Vorschlagsliste wieder versteckt werden
    $("#suchtext").blur(function(){
    	if($(this).val() == ''){
    		$(this).val('Suchebegriffe mit Komma trennen');
    		$(this).css("color", "grey");
    	}
    	window.setTimeout(function(){
    		$("#vorschlagsliste").hide();	
    	},200);
    });
}

function getAjaxObject() {
	var req;
	try {
		req = new XMLHttpRequest();
	} catch (err1) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (err2) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (err3) {
				req = false;
			}
		}
	}
	return req;
}

function setAutocompleteClick(element, string) {
	element.onclick = function() {
		$("#suchtext").val(string);
		$("#suchen").click();
	};
}

function jsonInit() {
	$("#suchtext").keyup(function() {
		var keyword = $("input#suchtext").val();
		$("#vorschlagsliste").html("");
		
		if (!keyword) {
			return;
		}
		
		var http = getAjaxObject();
		
		http.open("GET", $("#contextPath").html() + "/autocomplete?keyword=" + keyword, true);
		http.onreadystatechange = function() {
			if ((http.readyState == 4) && (http.status == 200)) {
				var data = JSON.parse(http.responseText);
				
				for (var i=0; i<data.length; i++) {
					var element = document.createElement("li");
					element.innerHTML = data[i];
					setAutocompleteClick(element, data[i]);
					$("#vorschlagsliste").append(element);
				}
			}
		};
		http.send(null);
	});
}

$(document).ready(main);